<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page contentType="text/html;charset=UTF-8" %>
<html>
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
    <title>知云——针对编程的个性化学习推荐系统</title>
        <%
        pageContext.setAttribute("APP_PATH", request.getContextPath());
    %>

    <base href="${APP_PATH}">
    <link rel="shortcut icon" type="image/x-icon" href="${APP_PATH}/static/favicon.ico"/>
    <link rel="stylesheet" href="${APP_PATH}/static/css/bootstrap.min.css">
    <link rel="stylesheet" href="${APP_PATH}/static/css/toastr.min.css">
    <link rel="stylesheet" href="${APP_PATH}/static/css/offcanvas.css">
    <link rel="stylesheet" href="${APP_PATH}/static/css/fontawesome.min.css">
</head>
<body>

<jsp:include page="${APP_PATH}/common/head-question.jsp"/>
<c:choose>
    <c:when test="${not empty user}">
        <%--用户已登陆--%>
        <div id="defaultDiv" data-userId="${user.id}" class="mt-2 col-sm-12 col-md-12 col-lg-9" style="margin-left: auto;margin-right: auto;">
            <div class="d-flex p-3 bg-white mb-2 rounded shadow-sm">
                <div class="flex-fill text-center"><a href="#" class="text-danger"><i class="fa fa-question"></i>我的提问</a></div>
                <div class="flex-fill text-center"><a href="/answer-mine" class="text-dark"><i class="fa fa-table"></i>我的回答</a></div>
                <div class="flex-fill text-center"><a href="/question-star" class="text-dark"><i class="fa fa-anchor"></i>关注问题</a></div>
                <div class="flex-fill text-center"><a href="/question-write" class="text-dark"><i class="fa fa-arrow-circle-right"></i>去提问</a></div>
            </div>

            <div class="bg-white p-3 rounded shadow-sm">
                <div id="mainArea">
                    
                </div>
            </div>
            <div id="pageNavArea">

            </div>
        </div>
    </c:when>
    <c:otherwise>
        <%--没有登录，提示用户--%>
        <div class="offset-lg-4 col-lg-4 col-md-12 col-sm-12">
            <div class="alert-warning p-3">
                <h4>您还没有登录，请先<a href="/login">登录</a></h4>
            </div>
        </div>
    </c:otherwise>
</c:choose>
<div class="p-4"></div>

<script src="${APP_PATH}/static/js/jquery-3.3.1.min.js"></script>
<script src="${APP_PATH}/static/js/bootstrap.min.js"></script>
<script src="${APP_PATH}/static/js/toastr.min.js"></script>
<script src="${APP_PATH}/static/js/offcanvas.js"></script>

<script>
    //点击修改按钮
    function updateQuestion(ele) {
        if (confirm("我们不提倡修改问题，可能会导致其他人的回答不相关，继续修改吗？")) {
            //跳转到修改页面
            var questionId = $(ele).attr("data-questionId");
            window.location.href = "/question-update/"+questionId;
        }
    }

    //点击删除按钮
    function deleteQuestion(ele) {
        if (confirm("此操作不可逆，无法找回，确认删除吗？")) {
            var questionId = $(ele).attr("data-questionId");
            $.ajax({
                url:'/deleteUserQuestion/'+questionId,
                type:'GET',
                success:function (result) {
                    if (result.code === 100) {
                        //删除该div
                        $("div[data-question="+questionId+"]").remove();
                        toastr.success("操作成功！");
                    }else{
                        toastr.error(result.extend.error);
                    }
                }
            });
        }
    }

    //构建问题页面
    function buildPageArea(result) {
        //清空
        var $mainArea=$("#mainArea");
        $mainArea.empty();
        $.each(result.extend.pageInfo.list,function (index, item) {
            var div_out=$("<div data-question='"+item.id+"' class='border-bottom border-gray p-1' style='position:relative;'></div>");
            //按钮组
            var button1=$("<a class='btn btn-sm btn-outline-info' data-questionId='"+item.id+"' onclick='updateQuestion(this)'>修改</a>");
            var button2=$("<a class='btn btn-sm btn-outline-danger ml-1' data-questionId='"+item.id+"' onclick='deleteQuestion(this)'>删除</a>");

            $("<div style='position:absolute;top:4px;right:4px;'></div>").append(button1).append(button2).appendTo(div_out);

            var h5=$("<h5>").append($("<a class='text-dark' href='/question/"+item.id+"'>").append(item.questiontitle));
            var edittime=new Date(item.edittime).toLocaleString();
            var span=$("<span style='font-size:small'>"+edittime+"</span>");
            div_out.append(h5).append(span).appendTo($mainArea);
        });
    }

    //构建问题页面的页码
    function buildPageNavArea(result) {
        var $pageNavArea = $("#pageNavArea");
        $pageNavArea.empty();

        var div = $("<div class='p-2'>");
        var ul = $("<ul></ul>").addClass("pagination");
        //遍历给ul中添加页码提示
        $.each(result.extend.pageInfo.navigatepageNums,function(index,item){

            var numLi = $("<li class='page-item'></li>").append($("<a class='btn btn-sm btn-outline-primary mr-2'></a>").append(item));
            if(result.extend.pageInfo.pageNum === item){
                //当前页按钮，不可点击
                numLi.find("a").removeClass("btn-outline-primary");
                numLi.find("a").addClass("disabled");
                numLi.find("a").addClass("btn-primary");
            }
            numLi.click(function(){
                toPage(item);
            });
            ul.append(numLi);
        });
        div.append(ul).appendTo($pageNavArea);
    }

    //分页获取用户提的问题
    function toPage(pn) {
        var userId = $("#defaultDiv").attr("data-userId");
        if (userId.length === 16) {
            $.ajax({
                url:'/userQuestion/'+userId+"/"+pn,
                type: 'GET',
                success:function (result) {
                    if (result.code === 100) {
                        if (result.extend.pageInfo.list.length > 0) {
                            //问题不为空，开始构建页面
                            buildPageArea(result);
                            buildPageNavArea(result);
                        }else{
                            $("<div class='alert-warning p-3 my-1'><h4>你还没有发布任何问题，快去<a href='/question-write'>提问</a>吧！！</h4></div>").appendTo($("#mainArea"));
                        }
                    }else{
                        toastr.error("获取数据失败，请重新登录！");
                    }
                }
            });
        }else{
            toastr.error("获取数据失败，请重新登录！");
        }
    }

    $(function () {
        toPage(1);
    })
</script>
</body>

</html>
